package com.bzkj.basicinfo.domain.inspect;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Data
public class WmsInspectDetailEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 验收任务ID */
    private Long inspectTaskId;

    /** 验收任务号 */
    private String taskNo;

    /** 行号 */
    private Integer lineNo;

    /** 商品ID */
    private String productId;

    /** 商品编码 */
    private String productCode;

    /** 商品名称 */
    private String productName;

    /** 批次号 */
    private String batchCode;

    /** 验收数量 */
    private BigDecimal inspectQuantity;

    /** 合格数量 */
    private BigDecimal qualifiedQuantity;

    /** 不合格数量 */
    private BigDecimal unqualifiedQuantity;

    /** 确认数量（验收后���实际数量） */
    private BigDecimal confirmQuantity;

    /** 单位编码 */
    private String unitCode;

    /** 明细状态（pending待验收/inspecting验收中/completed已完成） */
    private String detailStatus;

    /** 验收结果（qualified合格/unqualified不合格/partial部分合格） */
    private String inspectResult;

    /** 不合格类型（quality质量/quantity数量/package包装/expiry效期/other其他） */
    private String unqualifiedType;

    /** 不合格描述 */
    private String unqualifiedDesc;

    /** 处理方式（downgrade降级/return退货/destroy销毁） */
    private String handleMethod;

    /** 拍照存档URL（多个用逗号分隔） */
    private String photoUrls;

    /** 生产日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date produceDate;

    /** 有效期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date expiryDate;

    /** 复验期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date retestDate;

    /** 货架期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date shelfLifeDate;

    /** 供应商批号 */
    private String vendorBatchCode;

    /** 库房ID */
    private String stoId;

    /** 库区ID */
    private String areaId;

    /** 商品分类ID */
    private String classId;

    /** 货架编码 */
    private String shelfCode;

    /** 货架名称 */
    private String shelfName;

    /** 生产厂商ID */
    private String manufacturerId;

    /** 生产厂商名称 */
    private String manufacturerName;

    /** 验收时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date inspectTime;

    /** 验收人 */
    private String inspector;

    /** 备注 */
    private String remark;

    /** 创建人 */
    private String createBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** ���新人 */
    private String updateBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /** 自定义字段1 */
    private String def1;

    /** 自定义字段2 */
    private String def2;

    /** 自定义字段3 */
    private String def3;

    /** 自定义字段4 */
    private String def4;

    /** 自定义字段5 */
    private String def5;
}
